【MVC框架】

您所在的位置:网站首页 tp6 view 传递 html 【MVC框架】

【MVC框架】

2024-07-09 15:37| 来源: 网络整理| 查看: 265

    在MVC中,Controller执行一个可以说是路由功能,它通过View传过来的数据,来决定应该调用哪一个Model,同样会把Model处理完的数据传给View,所以就总是涉及到Controller和View的传值,那么它们之间是怎么传值的呢?

 

Controller向View传值

 

1、使用ViewBag

 

Controller

 

public ActionResult Index() { ViewBag.Message = "欢迎使用 ASP.NET MVC!"; return View(); }

 

 

View

 

@{ ViewBag.Title = "主页"; } @ViewBag.Message

若要了解有关 ASP.NET MVC 的更多信息,请访问 http://asp.net/mvc。

ViewBag传过来的Message信息将会传递给@ViewBag.Message,所实现的效果就是

 

                                  

2、使用ViewData

 

Controller

public ActionResult Index() { ViewData["Message"] = "Welcome to ASP.NET MVC!"; return View(); }

 

View

 

若要了解有关 ASP.NET MVC 的更多信息,请访问 http://asp.net/mvc。

所实现的效果是相同的。

 

 

3、使用TempData

 

Controller

public ActionResult Index() { TempData["Message"] = "Welcome to ASP.NET MVC!"; return View(); }

 

View

若要了解有关 ASP.NET MVC 的更多信息,请访问 http://asp.net/mvc。

 

 

4、使用Model

 

Controller

 

public ActionResult ModelDemo() { User u= new User() { UserName="li", Password="abcde" }; return View(u); }

 

 

View

 

UserName:

Password:

 

 

下面介绍四种方法的不同点:

    ViewData是Key/Value字典集合,在MVC1中就有了,ViewData传值比ViewBag要快;ViewBag是dynamic类型对象,从MVC3才开始出现,比ViewData传值慢,但是可读性好。

 

    ViewData只能用于当前Action中,而TempData类似于Session,可以跨Action进行访问,一般用于存储错误信息。

 

    Model传递强类型,所以在创建视图时,需要创建强视图。

 

View向Controller传值

 

1、通过Request.Form读取表单数据

 

View

 

UserName: Password:

Controller

 

 

[AcceptVerbs(HttpVerbs.Post)] public ActionResult ActionName() { string username = Request.Form["UserName"]; string password = Request.Form["Password"]; return View(); }

2、通过FormCollection读取表单数据

 

 

View

 

UserName: Password:

 

 

Controller

 

[AcceptVerbs(HttpVerbs.Post)] public ActionResult ActionName(FormCollection formCollection) { string username = formCollection["UserName"]; string password = formCollection["Password"]; return View(); }

 

 

 

 

 

总结

    页面传值会用到各种方法,那么页面和控制器间的传值同样会有很多方法。View和Controller传值是不可避免的,熟练掌握它们之间的传值方法,有利于更流利的开发。  

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3